/*
 * Copyright (c) 2025 Hunan Talkweb Cloud Innovation Technology Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

export interface CapacitorOhosVariables {
  // SDK and Runtime versions
  compatibleSdkVersion: string;
  targetSdkVersion: string;
  runtimeOS: string;
  
  // Application configuration
  bundleName: string;
  vendor: string;
  versionCode: number;
  versionName: string;
  appName: string;
  customUrlScheme: string;
  
  // Supported device types
  deviceTypes: string[];
  
  // Module configuration
  entryModuleName: string;
  mainElement: string;
  
  // Build configuration
  deliveryWithInstall: boolean;
  installationFree: boolean;
  apiType: string;
  
  // Permissions
  permissions: string[];
  
  // WebView configuration
  webDir: string;
  ohosScheme: string;
}

export const capacitorOhosVariables: CapacitorOhosVariables = {
  // SDK and Runtime versions
  compatibleSdkVersion: "5.0.0(12)",
  targetSdkVersion: "5.0.0(12)",
  runtimeOS: "HarmonyOS",
  
  // Application configuration
  bundleName: "com.getcapacitor.myapp",
  vendor: "Capacitor",
  versionCode: 1,
  versionName: "1.0.0",
  appName: "My App",
  customUrlScheme: "com.getcapacitor.myapp",
  
  // Supported device types
  deviceTypes: [
    "phone",
    "tablet"
  ],
  
  // Module configuration
  entryModuleName: "entry",
  mainElement: "EntryAbility",
  
  // Build configuration
  deliveryWithInstall: true,
  installationFree: false,
  apiType: "stageMode",
  
  // Permissions
  permissions: [
    "ohos.permission.INTERNET",
    "ohos.permission.READ_MEDIA",
    "ohos.permission.WRITE_MEDIA"
  ],
  
  // WebView configuration
  webDir: "dist",
  ohosScheme: "https"
};